home *** CD-ROM | disk | FTP | other *** search
- REM
- REM (MacDrawFiles.BAS)
- REM
- REM CREATES A 'MACDRAW(PICT)' TEXT-FILE & GRAPHICS-FILE
- REM
- REM REFER TO Macintosh Technical Note #27: MacDraw's PICT File
- REM Format and Comments, August 20, 1986 BY Ginger Jernigan;
- REM #21: QuickDraw's Internal Picture Definition, June 20, 1986
- REM BY Ginger Jernigan; AND #91: Optimizing for the LaserWriter
- REM —Picture Comments, March 2, 1987 BY Ginger Jernigan
- REM
- REM DISABLE ZBASIC'S DEFAULT WINDOW
- REM
- WINDOW OFF
- REM
- REM SET THE COORDINATE SYSTEM TO WINDOW 'PIXEL' COORDINATES
- REM
- COORDINATE WINDOW
- REM
- REM ESTABLISH A 'STATUS' WINDOW
- REM
- WINDOW #1,"MacDrawFiles.BAS",(4,41)-(506,337),261
- CALL MOVETO(144,50)
- PRINT "Now creating the 'MacDraw' files . . ."
- REM
- REM DEFINE 'SHORT' PICCOMMENTS
- REM
- NIL&=0
- noData%=0
- picDwgBeg%=130
- picDwgEnd%=131
- PolyBegin%=160
- PolyEnd%=161
- picPlyClo%=165
- REM
- REM READ-IN SELECTED FONT FAMILIES
- REM
- DIM fontNo%(13),fontName$(13)
- FOR I%=1 TO 13
- READ fontNo%(I%),fontName$(I%)
- NEXT I%
- REM
- REM READ-IN ALL 8 'MACDRAW' FONT SIZES
- REM
- DIM fontSize%(8)
- FOR I%=1 TO 8
- READ fontSize%(I%)
- NEXT I%
- REM
- REM READ-IN ALL 6 'MACDRAW' FONT STYLES
- REM
- DIM fontStyle%(6),fontStyle$(6)
- FOR I%=1 TO 6
- READ fontStyle%(I%),fontStyle$(I%)
- NEXT I%
- REM
- REM READ-IN ALL 36 'MACDRAW' FILL/PEN PATTERNS AS HEX STRINGS
- REM
- DIM MacDrawPat$(36)
- FOR I%=1 TO 36
- READ patID%,MacDrawPat$(I%)
- NEXT I%
- REM
- REM READ-IN ALL 5 'MACDRAW' LINE WEIGHTS
- REM
- DIM penWidth%(5),penHeight%(5)
- FOR I%=1 TO 5
- READ penWidth%(I%),penHeight%(I%)
- NEXT I%
- REM
- REM DEFINE PICTURE RECTANGLE (A FULL-SIZE 'MACDRAW' PAGE)
- REM
- picRect=0.
- picTop%=0
- picLeft%=0
- picBottom%=720
- picRight%=576
- REM
- REM 'INITIALIZE' QUICKDRAW RECTANGLE
- REM
- DIM qdRect,qdTop%,qdLeft%,qdBottom%,qdRight%
- REM
- REM 'INITIALIZE' QUICKDRAW 'FILL' PATTERN
- REM
- DIM fillPat,row12%,row34%,row56%,row78%
- fillPatPtr&=VARPTR(fillPat)
- REM
- REM 'INITIALIZE' PICTURE
- REM
- CALL SETRECT(picRect,picLeft%,picTop%,picRight%,picBottom%)
- REM
- REM CREATE A 'MACDRAW' TEXT-DEMO FILE & A GRAPHICS-DEMO FILE
- REM
- FOR File%=1 TO 2
- PicHand&=FN OPENPICTURE(picRect)
- REM
- REM 'BEGIN' A 'MACDRAW' PICTURE
- REM
- CALL PICCOMMENT(picDwgBeg%,noData%,NIL&)
- REM
- REM CHECK FOR TEXT(File%=1) OR GRAPHICS(File%=2)
- REM
- IF File%=2 THEN "graphics"
- REM
- REM . . . CREATE TEXT FILE . . .
- REM
- "text"
- REM
- REM * * 'SAMPLE' FONT FAMILIES (USE 12 PT BOLD) * *
- REM
- x%=10
- FOR I%=1 TO 13
- y%=25*(I%+1)
- CALL MOVETO(x%,y%)
- TEXT fontNo%(I%),fontSize%(3),fontStyle%(2),1
- CALL DRAWSTRING(fontName$(I%))
- CALL DRAWSTRING(" 12 pt Bold")
- NEXT I%
- REM
- REM * * 'SAMPLE' FONT STYLES (USE 'HELVETICA' 12 PT) * *
- REM
- x%=180
- FOR I%=1 TO 6
- y%=25*(I%+1)
- CALL MOVETO(x%,y%)
- TEXT fontNo%(4),fontSize%(3),fontStyle%(I%),1
- CALL DRAWSTRING(fontName$(4))
- CALL DRAWSTRING(" 12 pt ")
- CALL DRAWSTRING(fontStyle$(I%))
- NEXT I%
- y%=y%+25
- CALL MOVETO(x%,y%)
- Style%=0
- Style$=""
- FOR I%=2 TO 6
- Style%=Style%+fontStyle%(I%)
- Style$=Style$+fontStyle$(I%)+" "
- NEXT I%
- TEXT fontNo%(4),fontSize%(3),Style%,1
- CALL DRAWSTRING(fontName$(4))
- CALL DRAWSTRING(" 12 pt ")
- CALL DRAWSTRING(Style$)
- REM
- REM * * 'SAMPLE' FONT SIZES (USE 'HELVETICA' BOLD) * *
- REM
- x%=10
- yold%=391
- FOR I%=1 TO 8
- y%=yold%+fontSize%(I%)
- yold%=y%
- CALL MOVETO(x%,y%)
- TEXT fontNo%(4),fontSize%(I%),fontStyle%(2),1
- CALL DRAWSTRING(fontName$(4))
- CALL DRAWSTRING("")
- Size$=STR$(fontSize%(I%))
- CALL DRAWSTRING(Size$)
- CALL DRAWSTRING(" pt Bold")
- NEXT I%
- GOTO "EndPicture"
- REM
- REM . . . CREATE GRAPHICS FILE . . .
- REM
- "graphics"
- REM
- REM * * 'SAMPLE' ALL 36 'MACDRAW' FILL PATTERNS * *
- REM NOTE: FILL & FRAME ARE 'GROUPED' AUTOMATICALLY
- REM
- FOR I%=1 TO 3
- qdBottom%=20
- FOR J%=1 TO 12
- K%=(I%-1)*12+J%
- qdTop%=qdBottom%+5
- qdLeft%=10+(I%-1)*30
- qdBottom%=qdTop%+25
- qdRight%=qdLeft%+25
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL STUFFHEX(fillPatPtr&,MacDrawPat$(K%))
- IF K%>1 CALL FILLRECT(qdRect,fillPat)
- CALL FRAMERECT(qdRect)
- NEXT J%
- NEXT I%
- REM
- REM * * 'SAMPLE' ALL 5 'MACDRAW' LINE WEIGHTS * *
- REM
- TEXT fontNo%(4),fontSize%(1),fontStyle%(2),1
- x%=150
- FOR I%=1 TO 5
- y%=10+30*I%
- CALL MOVETO(x%,y%)
- Width$=STR$(penWidth%(I%))
- Height$=STR$(penHeight%(I%))
- Note$=" Line Width,Height = "+Width$+","+Height$
- CALL DRAWSTRING(Note$)
- CALL MOVE(10,-penHeight%(I%))
- CALL PENSIZE(penWidth%(I%),penHeight%(I%))
- CALL LINE(41-penWidth%(I%),0)
- CALL PENNORMAL
- NEXT I%
- REM
- REM * * 'SAMPLE' ALL 3 'MACDRAW' ARROWHEADS * *
- REM
- REM USE HORIZ LINES
- REM
- dx%=50
- dy%=0
- x%=90
- REM
- REM USE RIGHT(I%=1), LEFT(I%=2), & BOTH(I%=3) ARROWHEADS
- REM
- FOR I%=1 TO 3
- x%=x%+65
- REM
- REM USE ALL 5 LINE WEIGHTS
- REM
- FOR J%=1 TO 5
- y%=150+30*J%
- CALL PENSIZE(penWidth%(J%),penHeight%(J%))
- xahl1%=x%
- yahl1%=y%
- xahl2%=x%+dx%
- yahl2%=y%+dy%
- REM
- REM ADJUST LENGTHS FOR PENSIZE
- REM
- IF I%=1 THEN xahl2%=xahl2%+1-penWidth%(J%)
- IF I%=2 THEN xahl1%=xahl1%+1
- ArrwPt%=I%
- GOSUB "ArrowHeads"
- NEXT J%
- NEXT I%
- REM
- REM USE VERT LINES
- REM
- dx%=0
- dy%=50
- y%=270
- REM
- REM USE RIGHT(I%=1), LEFT(I%=2), & BOTH(I%=3) ARROWHEADS
- REM
- FOR I%=1 TO 3
- y%=y%+65
- REM
- REM USE ALL 5 LINE WEIGHTS
- REM
- FOR J%=1 TO 5
- x%=140+30*J%
- CALL PENSIZE(penWidth%(J%),penHeight%(J%))
- xahl1%=x%
- yahl1%=y%
- xahl2%=x%+dx%
- yahl2%=y%+dy%
- REM
- REM ADJUST LENGTHS FOR PENSIZE
- REM
- IF I%<>2 THEN yahl1%=yahl1%-1
- IF I%=1 THEN yahl2%=yahl2%-penHeight%(J%)
- ArrwPt%=I%
- GOSUB "ArrowHeads"
- NEXT J%
- NEXT I%
- REM
- REM USE 45 DEG. LINES
- REM
- dx%=INT(50./SQR(2.))
- dy%=INT(50./SQR(2.))
- y%=490
- REM
- REM USE RIGHT(I%=1), LEFT(I%=2), & BOTH(I%=3) ARROWHEADS
- REM
- FOR I%=1 TO 3
- y%=y%+50
- REM
- REM USE ALL 5 LINE WEIGHTS
- REM
- FOR J%=1 TO 5
- x%=125+30*J%
- CALL PENSIZE(penWidth%(J%),penHeight%(J%))
- xahl1%=x%
- yahl1%=y%
- xahl2%=x%+dx%
- yahl2%=y%+dy%
- REM
- REM ADJUST LENGTHS FOR PENSIZE
- REM
- IF I%=1 THEN "df1"
- IF I%=2 THEN "df2"
- GOTO "df3"
- "df1" xahl2%=xahl2%-1-INT(penWidth%(J%)/SQR(2.))
- yahl2%=yahl2%-1-INT(penHeight%(J%)/SQR(2.))
- IF J%<5 THEN "df3"
- xahl2%=xahl2%+1
- yahl2%=yahl2%+1
- GOTO "df3"
- "df2" xahl1%=xahl1%+1+INT(penWidth%(J%)/SQR(2.))
- yahl1%=yahl1%+1+INT(penHeight%(J%)/SQR(2.))
- IF J%<3 THEN "df3"
- xahl1%=xahl1%-1
- yahl1%=yahl1%-1
- IF J%<5 THEN "df3"
- xahl1%=xahl1%-1
- yahl1%=yahl1%-1
- "df3" ArrwPt%=I%
- GOSUB "ArrowHeads"
- NEXT J%
- NEXT I%
- CALL PENNORMAL
- REM
- REM * * 'SAMPLE' ALL 36 'MACDRAW' PEN PATTERNS * *
- REM
- CALL PENSIZE(penWidth%(5),penHeight%(5))
- FOR I%=1 TO 3
- y%=5
- FOR J%=1 TO 12
- K%=(I%-1)*12+J%
- x%=385+(I%-1)*50
- y%=y%+30
- CALL MOVETO(x%,y%)
- CALL STUFFHEX(fillPatPtr&,MacDrawPat$(K%))
- CALL PENPAT(fillPat)
- CALL LINE(40,0)
- NEXT J%
- NEXT I%
- CALL PENNORMAL
- REM
- REM * * 'SAMPLE' ALL 8 GRAPHICS 'TOOLS' * *
- REM
- CALL PENSIZE(penWidth%(3),penHeight%(3))
- REM
- REM USE ORTHOGONAL LINES
- REM
- CALL MOVETO(10,420)
- CALL LINETO(50,420)
- CALL MOVETO(80,400)
- CALL LINETO(80,440)
- CALL MOVETO(110,400)
- CALL LINETO(150,440)
- REM
- REM USE UNCONSTRAINED LINES
- REM
- CALL MOVETO(10,450)
- CALL LINETO(75,490)
- CALL MOVETO(85,490)
- CALL LINETO(150,450)
- REM
- REM USE RECTANGLES
- REM
- qdTop%=510
- qdLeft%=10
- qdBottom%=qdTop%+40
- qdRight%=qdLeft%+40
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMERECT(qdRect)
- qdTop%=520
- qdLeft%=60
- qdBottom%=qdTop%+20
- qdRight%=qdLeft%+60
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMERECT(qdRect)
- qdTop%=500
- qdLeft%=130
- qdBottom%=qdTop%+60
- qdRight%=qdLeft%+20
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMERECT(qdRect)
- REM
- REM USE ROUNDED-CORNER RECTANGLES
- REM
- ovalWidth%=20
- ovalHeight%=20
- qdTop%=580
- qdLeft%=10
- qdBottom%=qdTop%+40
- qdRight%=qdLeft%+40
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEROUNDRECT(qdRect,ovalWidth%,ovalHeight%)
- qdTop%=590
- qdLeft%=60
- qdBottom%=qdTop%+20
- qdRight%=qdLeft%+60
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEROUNDRECT(qdRect,ovalWidth%,ovalHeight%)
- qdTop%=570
- qdLeft%=130
- qdBottom%=qdTop%+60
- qdRight%=qdLeft%+20
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEROUNDRECT(qdRect,ovalWidth%,ovalHeight%)
- REM
- REM USE OVALS
- REM
- qdTop%=650
- qdLeft%=10
- qdBottom%=qdTop%+40
- qdRight%=qdLeft%+40
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEOVAL(qdRect)
- qdTop%=660
- qdLeft%=60
- qdBottom%=qdTop%+20
- qdRight%=qdLeft%+60
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEOVAL(qdRect)
- qdTop%=640
- qdLeft%=130
- qdBottom%=qdTop%+60
- qdRight%=qdLeft%+20
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEOVAL(qdRect)
- REM
- REM USE ARCS
- REM
- startAngle%=225
- arcAngle%=150
- qdTop%=410
- qdLeft%=385
- qdBottom%=qdTop%+40
- qdRight%=qdLeft%+40
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEARC(qdRect,startAngle%,arcAngle%)
- qdTop%=420
- qdLeft%=435
- qdBottom%=qdTop%+20
- qdRight%=qdLeft%+60
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEARC(qdRect,startAngle%,arcAngle%)
- qdTop%=400
- qdLeft%=505
- qdBottom%=qdTop%+60
- qdRight%=qdLeft%+20
- CALL SETRECT(qdRect,qdLeft%,qdTop%,qdRight%,qdBottom%)
- CALL FRAMEARC(qdRect,startAngle%,arcAngle%)
- REM
- REM USE THE 'FREEHAND' TOOL ('MACDRAW' USES A POLYGON)
- REM
- PolyHandle&=FN OPENPOLY
- PI=4.*ATN(1.)
- PIO20=PI/20.
- THETA=0.
- R=50.*COS(2.*THETA)
- X%=455+INT(R*COS(THETA))
- Y%=510+INT(R*SIN(THETA))
- CALL MOVETO(X%,Y%)
- FOR I%=1 TO 20
- THETA=I%*PIO20
- R=50.*COS(2.*THETA)
- X%=455+INT(R*COS(THETA))
- Y%=510+INT(R*SIN(THETA))
- CALL LINETO(X%,Y%)
- NEXT I%
- CALL CLOSEPOLY
- CALL FRAMEPOLY(PolyHandle&)
- CALL KILLPOLY(PolyHandle&)
- REM
- REM USE A POLYGON
- REM
- PolyHandle&=FN OPENPOLY
- CALL MOVETO(385,540)
- CALL LINETO(385,575)
- CALL LINETO(485,600)
- CALL LINETO(525,540)
- CALL LINETO(435,565)
- CALL CLOSEPOLY
- CALL FRAMEPOLY(PolyHandle&)
- CALL KILLPOLY(PolyHandle&)
- REM
- REM USE A 'FORCED-CLOSE' POLYGON
- REM NOTE: THE 'PICCOMMENTS' WILL FORCE CLOSURE
- REM
- CALL PICCOMMENT(PolyBegin%,noData%,NIL&)
- CALL PICCOMMENT(picPlyClo%,noData%,NIL&)
- CALL MOVETO(385,610)
- CALL LINETO(385,645)
- CALL LINETO(485,670)
- CALL LINETO(525,610)
- CALL LINETO(435,635)
- CALL LINETO(385,610)
- CALL PICCOMMENT(PolyEnd%,noData%,NIL&)
- CALL PENNORMAL
- REM
- REM 'END' A 'MACDRAW' PICTURE
- REM
- "EndPicture"
- CALL PICCOMMENT(picDwgEnd%,noData%,NIL&)
- REM
- REM CREATE THE 'MACDRAW' PICT FILE
- REM
- CURSOR=4
- DEF OPEN "PICTMDRW"
- IF File%=1 THEN OPEN "O",#1,"MacDraw.text"
- IF File%=2 THEN OPEN "O",#1,"MacDraw.graphics"
- REM
- REM WRITE-OUT A 512 BYTE (256 WORDS OR INTEGERS) HEADER OF ZEROES
- REM
- A%=0
- FOR I%=1 TO 256
- WRITE #1,A%
- NEXT I%
- REM
- REM CLOSE THE PICTURE & WRITE-OUT THE 'PICT' DATA
- REM
- CALL CLOSEPICTURE
- PicPtr&=PEEK LONG(PicHand&)
- PicLength%=PEEK WORD(PicPtr&+0)
- NumWords%=PicLength%/2
- doubleNumWords%=2*NumWords%
- IF doubleNumWords%<PicLength% THEN NumWords%=NumWords%+1
- FOR I%=1 TO NumWords%
- J%=2*(I%-1)
- A%=PEEK WORD(PicPtr&+J%)
- WRITE #1,A%
- NEXT I%
- CALL KILLPICTURE(PicHand&)
- CLOSE #1
- CURSOR=0
- NEXT File%
- GOTO "Exit"
- REM
- REM * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- "ArrowHeads"
- REM
- REM SUBROUTINE TO CONSTRUCT A 'MACDRAW' ARROWHEAD(S) LINE
- REM
- REM DEFINE ARROWHEAD PARAMETERS
- REM
- DIM ArrwRect,ArrwRT%,ArrwRL%,ArrwRB%,ArrwRR%
- NIL&=0
- noData%=0
- picArrwR%=170
- picArrwL%=171
- picArrwB%=172
- picArrwEnd%=173
- arcAngle%=48
- REM
- REM GET PEN SIZE & ARROWHEAD RECTANGLE SIZE
- REM
- DIM pnLocV%,pnLocH%,pnSizeV%,pnSizeH%,pnMode%
- DIM pnPat12%,pnPat34%,pnPat56%,pnPat78%
- CALL GETPENSTATE(pnLocV%)
- IF pnSizeV%=0 THEN RETURN
- IF pnSizeV%=1 THEN ArrwWH%=20
- IF pnSizeV%=2 THEN ArrwWH%=30
- IF pnSizeV%=4 THEN ArrwWH%=40
- IF pnSizeV%=6 THEN ArrwWH%=50
- REM
- REM DETERMINE LINE PROPERTIES
- REM
- dxahl=xahl2%-xahl1%
- dyahl=yahl2%-yahl1%
- lineLength=SQR(dxahl*dxahl+dyahl*dyahl)
- xcorr%=INT((dyahl/lineLength)*pnSizeV%/2)
- ycorr%=INT(ABS(dxahl/lineLength)*pnSizeV%/2)
- IF xahl1%=xahl2% THEN "ah1"
- tanAnglw=dyahl/dxahl
- Angle=57.2957795*ATN(tanAngle)
- IF xahl1%>xahl2% THEN Angle=Angle+180.
- lineAngle%=INT(Angle)+90
- GOTO "ah3"
- "ah1" IF yahl1%>yahl2% THEN "ah2"
- lineAngle%=90+90
- GOTO "ah3"
- "ah2" lineAngle%=-90+90
- REM
- REM DETERMINE WHICH ARROWHEAD(S) TO DRAW
- REM (ArrwPt%=1 FOR PT 1, 2 FOR 2, 3 FOR BOTH)
- REM
- "ah3" short=(ArrwWH%/2)/lineLength
- IF ArrwPt%=2 THEN "ah4"
- REM
- REM ARROWHEAD AT PT 1
- REM
- bothFlag%=1
- xahlc%=xahl1%
- yahlc%=yahl1%
- xahl1%=xahlc%+INT(short*dxahl)
- yahl1%=yahlc%+INT(short*dyahl)
- startAngle%=lineAngle%-arcAngle%/2
- IF xahl1%>xahl2% THEN "ah6"
- IF xahl1%<xahl2% THEN "ah5"
- IF yahl1%>yahl2% THEN "ah6"
- GOTO "ah5"
- REM
- REM ARROWHEAD AT PT 2
- REM
- "ah4" bothFlag%=2
- xahlc%=xahl2%
- yahlc%=yahl2%
- xahl2%=xahlc%-INT(short*dxahl)
- yahl2%=yahlc%-INT(short*dyahl)
- startAngle%=lineAngle%+180-arcAngle%/2
- IF startAngle%>360 THEN startAngle%=startAngle%-360
- IF xahl1%<xahl2% THEN "ah6"
- IF xahl1%>xahl2% THEN "ah5"
- IF yahl1%<yahl2% THEN "ah6"
- "ah5" picArrw%=picArrwL%
- IF ArrwPt%=3 THEN picArrw%=picArrwB%
- GOTO "ah7"
- "ah6" picArrw%=picArrwR%
- IF ArrwPt%=3 THEN picArrw%=picArrwB%
- REM
- REM 'QUICKDRAW' THE ARROWHEAD(S) WITH 'PAINTARC' &
- REM USE PICCOMMENTS TO 'TIE' IT(THEM) TO THE LINE
- REM
- "ah7" ArrwRT%=yahlc%-ArrwWH%/2
- ArrwRB%=ArrwRT%+ArrwWH%
- ArrwRL%=xahlc%-ArrwWH%/2
- ArrwRR%=ArrwRL%+ArrwWH%
- CALL SETRECT(ArrwRect,ArrwRL%,ArrwRT%,ArrwRR%,ArrwRB%)
- IF ArrwPt%<3 THEN "ah8"
- IF bothFlag%<2 THEN "ah8"
- GOTO "ah9"
- "ah8" CALL PICCOMMENT(picArrw%,noData%,NIL&)
- "ah9" CALL PAINTARC(ArrwRect,startAngle%,arcAngle%)
- IF ArrwPt%<3 THEN "ah10"
- IF bothFlag%<2 THEN "ah4"
- "ah10" xahl1%=xahl1%-xcorr%
- yahl1%=yahl1%-ycorr%
- xahl2%=xahl2%-xcorr%
- yahl2%=yahl2%-ycorr%
- CALL MOVETO(xahl1%,yahl1%)
- CALL LINETO(xahl2%,yahl2%)
- CALL PICCOMMENT(picArrwEnd%,noData%,NIL&)
- RETURN
- REM
- REM * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- REM
- REM DATA FOR SELECTED FONT FAMILIES
- REM
- DATA 0,"Chicago"
- DATA 22,"Courier"
- DATA 3,"Geneva"
- DATA 21,"Helvetica"
- DATA 6,"London"
- DATA 4,"Monaco"
- DATA 15,"N Helvetica Narrow"
- DATA 2,"New York"
- DATA 16,"Palatino"
- DATA 23,"Symbol"
- DATA 20,"Times"
- DATA 5,"Venice"
- DATA 18,"Zapf Chancery"
- REM
- REM DATA FOR ALL 8 'MACDRAW' FONT SIZES
- REM
- DATA 9
- DATA 10
- DATA 12
- DATA 14
- DATA 18
- DATA 24
- DATA 36
- DATA 48
- REM
- REM DATA FOR ALL 6 'MACDRAW' FONT STYLES
- REM
- DATA 0,"Plain Text"
- DATA 1,"Bold"
- DATA 2,"Italic"
- DATA 4,"Underline"
- DATA 8,"Outline"
- DATA 16,"Shadow"
- REM
- REM DATA FOR ALL 36 'MACDRAW' FILL/PEN PATTERNS AS HEX STRINGS
- REM
- DATA 1,"0000000000000000"
- DATA 2,"0000000000000000"
- DATA 3,"FFFFFFFFFFFFFFFF"
- DATA 4,"77DD77DD77DD77DD"
- DATA 5,"AA55AA55AA55AA55"
- DATA 6,"8822882288228822"
- DATA 7,"8800220088002200"
- DATA 8,"8000080080000800"
- DATA 9,"8000000008000000"
- DATA 10,"8080413E080814E3"
- DATA 11,"FF808080FF080808"
- DATA 12,"8142241881422418"
- DATA 13,"8040201008040201"
- DATA 14,"E070381C0E0783C1"
- DATA 15,"77BBDDEE77BBDDEE"
- DATA 16,"8844221188442211"
- DATA 17,"99CC663399CC6633"
- DATA 18,"2040800008040200"
- DATA 19,"FF00FF00FF00FF00"
- DATA 20,"FF000000FF000000"
- DATA 21,"CC00000033000000"
- DATA 22,"F0F0F0F00F0F0F0F"
- DATA 23,"FF888888FF888888"
- DATA 24,"AA44AA11AA44AA11"
- DATA 25,"0102040810204080"
- DATA 26,"83070E1C3870E0C1"
- DATA 27,"EEDDBB77EEDDBB77"
- DATA 28,"1122448811224488"
- DATA 29,"3366CC993366CC99"
- DATA 30,"40A00000040A0000"
- DATA 31,"AAAAAAAAAAAAAAAA"
- DATA 32,"8888888888888888"
- DATA 33,"0101101001011010"
- DATA 34,"0008142A552A1408"
- DATA 35,"FF80808080808080"
- DATA 36,"8244281028448201"
- REM
- REM DATA FOR ALL 5 'MACDRAW' LINE WEIGHTS
- REM
- DATA 0,0
- DATA 1,1
- DATA 2,2
- DATA 4,4
- DATA 6,6
- "Exit"
- WINDOW CLOSE #1
- WINDOW #1,"MacDrawFiles.BAS",(4,41)-(506,337),261
- TEXT 4,9,0,1
- CALL MOVETO(162,50)
- PRINT "Both 'MacDraw' files created ! !"
- CALL MOVETO(174,65)
- PRINT "Hit [Return] to exit . . ."
- BEEP
- INPUT ANS$
- WINDOW CLOSE #1
- END
-